Computing devices are initialized by firmware included within the device and this firmware provides a range of software services which facilitate the boot of the operating system (OS) as well as providing a smaller subset of these services that continue to be available after the operating system has booted. Firmware is software that has been written onto Read-Only Memory (ROM) modules including, but not limited to, ROM, PROM, EPROM, EEPROM, and Flash ROM (collectively referred to hereafter as “ROM”). Among other services, the firmware is responsible for operation of the computing device until a boot process can be run which loads an operating system for the computing device into memory. Once loaded, the operating system is in charge of normal operation of the computing device although the provision of certain services after loading of the operating system may require a transition of control from the operating system back to the firmware for security and other reasons such as switching operating systems in a dual OS computing device.
Some computing devices are configured to allow switching between two or more operating systems. Computing devices equipped with two independent operating systems may be referred to as dual OS systems. Conventionally, in such a dual OS computing device, the computing device is required to suspend operation and either power off or hibernate while the current operating system is shut down, the computing device is reset and the other operating system is loaded.